package com.eascs.accessory.service;

import java.util.List;

import com.eascs.accessory.entity.Accessory;
import com.eascs.accessory.entity.O2oAccessoryProvince;
import com.eascs.accessory.form.AccessoryForm;
import com.eascs.admin.o2o.loan.entity.O2oPlatformRegional;
import com.eascs.app.dao.PageResult;
import com.eascs.datalist.entity.O2oDataListEntity;
import com.eascs.workflow.common.entity.sys.ActOrgEntity;
import com.eascs.workflow.common.entity.sys.SysResources;
import com.eascs.workflow.common.vo.ModelResult;
/**
 * @ClassName: AccessoryService
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author user
 * @date 2016年8月16日 上午9:44:41
 * @version V1.0
 */
public interface AccessoryService{
		
	/**
	 * @Title: findPageAccessory
	 * @Description: 分页查询附件列表
	 * @author 高元晖
	 * @param accessoryForm
	 * @return
	 * @return PageResult<Object[]>
	 * @throws
	 * @date 2016年8月3日 下午6:58:15
	 */
	public PageResult<Object[]> findPageAccessory(AccessoryForm accessoryForm);
	
	
	
	/**
	 * @Title: selectAccessoryList
	 * @Description: 树查询
	 * @author 高元晖
	 * @return
	 * @return List<Accessory>
	 * @throws
	 * @date 2016年8月4日 下午2:30:02
	 */
	public ModelResult<List<Accessory>> selectAccessoryList();
	
	
	/**
	 * @Title: save
	 * @Description: 保存
	 * @author 高元晖
	 * @param form
	 * @return
	 * @return ModelResult<String>
	 * @throws
	 * @date 2016年8月4日 下午1:01:00
	 */
	public ModelResult<String> save(AccessoryForm form);
	
	/**
	 * @Title: update
	 * @Description: 修改
	 * @author user
	 * @param form
	 * @return
	 * @return ModelResult<String>
	 * @throws
	 * @date 2016年8月11日 上午10:24:45
	 */
	public ModelResult<String> update(AccessoryForm form);
	/**
	 * @Title: selectAccessoryListByCode
	 * @Description: 根据Code查询资源权限
	 * @author user
	 * @param code
	 * @return
	 * @return List<SysResources>
	 * @throws
	 * @date 2016年8月11日 上午10:24:45
	 */
    public List<SysResources> selectAccessoryListByCode(String code);
	
	
	/**
	 * @Title: delete
	 * @Description: 删除
	 * @author 高元晖
	 * @param accessory
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<Boolean> delete(Accessory accessory);


	/**
	 * @Title: findO2oDataListEntityById
	 * @Description: 查询附件列表
	 * @author 高元晖
	 * @param accessoryId 资源id
	 * @return
	 * @return ModelResult<PageResult<Object[]>>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<PageResult<Object[]>> findO2oDataListEntityById(String accessoryId);
	
	/**
	 * @Title: findO2oDataListEntityById
	 * @Description: 查询附件列表(非总部人员)
	 * @author 高元晖
	 * @param accessoryId 资源id
	 * @return
	 * @return ModelResult<PageResult<Object[]>>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<PageResult<Object[]>> findO2oDataListEntityByIdNotZB(String accessoryId, List<ActOrgEntity> listPro);


	/**
	 * @Title: findEnTityById
	 * @Description: 查询资源对象
	 * @author 高元晖
	 * @param accessoryId 资源id
	 * @return
	 * @return ModelResult<Accessory>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<Accessory> findEnTityById(String accessoryId);
	
	/**
	 * @Title: delFile
	 * @Description:删除指南的附件
	 * @author 高元晖
	 * @param fileId 附件id
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<Boolean> delFile(String fileId);
	
	/**
	 * @Title: updateFile
	 * @Description: 更新附件
	 * @author 高元晖
	 * @param fileId
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年8月16日 上午9:44:44
	 */
	public ModelResult<Boolean> updateFile(String fileId);
	
	
	/**
	 * @Title: findFileByAccessroy
	 * @Description:判断指南下面是否包含附件
	 * @author 高元晖
	 * @param fileId 附件id
	 * @return
	 * @return ModelResult<Boolean>
	 * @throws
	 * @date 2016年8月8日 下午1:01:37
	 */
	public ModelResult<Boolean> findFileByAccessroy(String fileId);
	
	/**
	 * @Title: selectInterviewfile
	 * @Description: 查询节点附件
	 * @author user
	 * @param typeCode
	 * @return
	 * @return ModelResult<List<O2oDataListEntity>>
	 * @throws
	 * @date 2016年8月10日 下午3:46:23
	 */
	public ModelResult<List<O2oDataListEntity>> selectInterviewfile(String typeCode);
	
	/**
	 * @Title: selectInterviewtitle
	 * @Description: 查询节点名字
	 * @author user
	 * @param typeCode
	 * @return
	 * @return ModelResult<List<Accessory>>
	 * @throws
	 * @date 2016年8月10日 下午3:47:00
	 */
	public ModelResult<List<Accessory>> selectInterviewtitle(String typeCode);
	
	public ModelResult<List<Accessory>> findNodeByParentId(String parentId);
	
	public Accessory findAccessoryByResourceCode(String resourceCode);
	
	public List<O2oDataListEntity> findFileByAccessroyId(String accessoryId);
	
	public List<O2oPlatformRegional> getProvinceList();
	
	public String getProvinceByCode(String code);
	
	public int saveAccProvince(O2oAccessoryProvince entity); 
	
	public int deleteAccProvince(String associatedId);
	
	public List<String> getSelectProvice(String associatedId);
	
	public String getNoByAssId(String associatedId);
}
